Personal preferred viewing using electronic program guide

ABSTRACT

A method and system for implementing a preferred viewing library of programs are disclosed. Electronic program guide data is searched for a program satisfying a criterion, and a determination is made whether the program satisfies the criterion. The criterion may be based upon the viewing activity profile of the user or may be based upon a criterion entered into the program guide by the user. In the event a program satisfies the criterion, the recording of the program is scheduled to occur at a predetermined time. The time is monitored, and a determination whether the present time is the predetermined time. At the predetermined time, the program is recorded and organized in a program library such that a user may select the program from the program library and view the recorded program at an appropriate time.

CROSS REFERENCE TO RELATED APPLICATIONS

The present invention is a continuation of patent application Ser. No.09/339,075, “Personal Preferred Viewing using an Electronic ProgramGuide,” filed Jun. 23, 1999 now U.S. Pat. No. 6,721,954.

FIELD OF THE INVENTION

The present invention generally relates to the field of informationhandling systems, and particularly to an electronic program guide forpreferred viewing of programs.

BACKGROUND OF THE INVENTION

In a convergence system in which an information handling system and atelevision system are combined to provide an enhanced program viewingenvironment, an electronic program guide (EPG) is often used todetermine scheduled programming information such that a user may tailorhis or her viewing habits in accordance with the scheduled programming.

For example, the user may use the electronic program guide to determinewhen his or her favorite program may be scheduled such that he or shecould be home to watch the program at the scheduled broadcast time. If auser was unable to be home at the scheduled time, the user could programa videocassette recorder (VCR) to record the television program whilethe user was away from home so that the program could be viewed at alater time.

However, one disadvantage of such a system is that the user mustdetermine what types of programs he or she would like to watch, monitorthe electronic program guide for when those types of programs arescheduled, determine whether the program should be recorded, and thenmanually program the VCR to record the desired program. Further, it isthe user's responsibility to index the program and archive the programin a custom library of programs. It would therefore be highlyadvantageous to provide a system that automatically performs the abovementioned functions.

SUMMARY OF THE INVENTION

The present invention is directed to a method for implementing apreferred viewing library of programs. In one embodiment, the methodincludes steps for searching electronic program guide data for a programsatisfying a criterion, determining whether a program in the programguide satisfies the criterion, in the event a program in the programguide satisfies the criterion, scheduling to record the program at apredetermined time, monitoring the time and then determining whether thepresent time is the predetermined time, in the event the present time isthe predetermined time, recording the program, and organizing therecorded program in a program library such that a user may select theprogram from the program library and view the recorded program at anappropriate time.

The present invention is further directed to a system for providingpreferred viewing of one or more selected programs. In one embodiment,the system includes a processor for executing a program of instructionson an information handling system, a memory, coupled to the processor,for storing the program of instructions, an electronic program guideexecuted as the program of instruction by the processor, a recordingdevice coupled to the information handling system and controllable bythe electronic program guide, and an information storage medium,readable by the information handling system, onto which one or moreprograms may be stored in a library of programs on the informationstorage medium by the electronic program guide wherein the program guideis adapted to search program guide data for a program satisfying apredetermined condition and to record the program in the library on theinformation storage medium.

It is to be understood that both the forgoing general description andthe following detailed description are exemplary and explanatory onlyand are not restrictive of the invention as claimed. The accompanyingdrawings, which are incorporated in and constitute a part of thespecification, illustrate an embodiment of the invention and togetherwith the general description, serve to explain the principles of theinvention.

BRIEF DESCRIPTION OF THE DRAWING

The numerous advantages of the present invention may be betterunderstood by those skilled in the art by reference to the accompanyingfigures in which:

FIG. 1 is a block diagram of an information handling system operable totangibly embody the present invention;

FIG. 2 is a block diagram of an electronic program guide system inaccordance with the present invention;

FIG. 3 is a block diagram of a preferred viewing system of the presentinvention capable of being implemented with the information handlingsystem of FIG. 1; and

FIG. 4 is a flow diagram of a method for implementing a preferredviewing system in accordance with the present invention.

DETAILED DESCRIPTION OF THE INVENTION

Reference will now be made in detail to the presently preferredembodiment of the invention, an example of which is illustrated in theaccompanying drawings.

FIG. 1 shows a block diagram of an information handling system 100 inaccordance with the present invention. In this embodiment, processor102, system controller 112, cache 114, and data-path chip 118 are eachcoupled to host bus 110. Processor 102 is a microprocessor such as a486-type chip, a Pentium®, Pentium II®, Pentium III®, or the likesuitable microprocessor. Cache 114 provides high-speed local-memory data(in one embodiment, for example, 512 KB of data) for processor 102, andis controlled by system controller 112, which loads cache 114 with datathat is expected to be used soon after the data is placed in cache 112(i.e. in the near future). Main memory 116 is coupled between systemcontroller 112 and data-path chip 118, and in one embodiment, providesrandom-access memory of between 16 MB and 128 MB of data.

In one embodiment, main memory 116 is provided on SIMMs (Single In-lineMemory Modules), while in another embodiment, main memory 116 isprovided on DIMMs (Dual In-line Memory Modules), each of which plugsinto suitable sockets provided on a motherboard holding these componentsand many of the other components shown in FIG. 1. Main memory 116includes standard DRAM (Dynamic Random-Access Memory), EDO (ExtendedData Out) DRAM, SDRAM (Synchronous DRAM), or the like suitable memorytechnology. System controller 112 controls PCI (Peripheral ComponentInterconnect) bus 120, a local bus for system 100 that provides ahigh-speed data path between processor 102 and various peripheraldevices, such as video, disk, network, etc. Data-path chip 118 is alsocontrolled by system controller 112 to assist in routing data betweenmain memory 116, host bus 110, and PCI bus 120.

In one embodiment, PCI bus 120 provides a 32-bit-wide data path thatruns at 33 MHz. In another embodiment, PCI bus 120 provides a64-bit-wide data path that runs at 33 MHz. In yet other embodiments, PCIbus 120 provides 32-bit-wide or 64-bit-wide data paths that run athigher speeds. In one embodiment, PCI bus 120 provides connectivity toI/O bridge 122, graphics controller 127, and one or more PCI connectors121, each of which accepts a standard PCI card (not shown). In oneembodiment, I/O bridge 122 and graphics controller 127 are eachintegrated on the motherboard along with system controller 112, in orderto avoid a board-to-connector-to-board signal crossing interface,thereby providing better speed and reliability. In the embodiment shown,graphics controller 127 is coupled to a video memory 128 that includesmemory such as DRAM, EDO DRAM, SDRAM, or VRAM (Video Random-AccessMemory), and drives VGA (Video Graphics Adapter) port 129. VGA port 129can connect to VGA-type or SVGA (Super VGA)-type displays or the like.Other input/output (I/O) cards having a PCI interface can be pluggedinto PCI connectors 121.

In one embodiment, I/O bridge 122 is a chip that provides connection andcontrol to one or more independent IDE connectors 124 and 125, to a USB(Universal Serial Bus) port 126, and to ISA (Industry StandardArchitecture) bus 130. In this embodiment, IDE connector 124 providesconnectivity for up to two or more standard IDE-type devices such ashard disk drives, CD-ROM (Compact Disk-Read-Only Memory) drives, DVD(Digital Video Disk or Digital Versatile Disk) drives, or TBU(Tape-Backup Unit) devices.

In one similar embodiment, two IDE connectors 124 are provided, and eachprovide the EIDE (Enhanced IDE) architecture. In the embodiment shown,SCSI (Small Computer System Interface) connector 125 providesconnectivity for preferably up to seven or fifteen SCSI-type devices(depending on the version of SCSI supported by the embodiment). In oneembodiment, I/O bridge 122 provides ISA bus 130 having one or more ISAconnectors 131 (in one embodiment, three connectors are provided). Inone embodiment, ISA bus 130 is coupled to I/O controller 152, which inturn provides connections to two serial ports 154 and 155, parallel port156, and FDD (Floppy-Disk Drive) connector 157. In one embodiment, FDDconnector 157 is connected to FDD 158 that receives removable media(floppy diskette) 159 on which data and/or program code 160 is stored.

In one such embodiment, program code 160 includes code that controlsprogrammable system 100 to perform the method described below. Inanother such embodiment, serial port 154 is connectable to a computernetwork such as the internet, and such network has program code 160 thatcontrols programmable system 100 to perform the method described below.In one embodiment, ISA bus 130 is connected to buffer 132, which isconnected to X bus 140, which provides connections to real-time clock142, keyboard/mouse controller 144 and keyboard BIOS ROM (BasicInput/Output System Read-Only Memory) 145, and to system BIOS ROM 146.

FIG. 1 shows one exemplary embodiment of the present invention, howeverother bus structures and memory arrangements are specificallycontemplated. In one embodiment, I/O bridge 122 is a chip that providesconnection and control to one or more independent IDE connectors 124 and125, to a USB (Universal Serial Bus) port 126, and to ISA (IndustryStandard Architecture) bus 130. In this embodiment, IDE connector 124provides connectivity for up to two standard IDE-type devices such ashard disk drives or CD-ROM (Compact Disk-Read-Only Memory) drives, andsimilarly IDE connector 125 provides connectivity for up to two IDE-typedevices. In one such embodiment, IDE connectors 124 and 125 each providethe EIDE (Enhanced IDE) architecture. In one embodiment, I/O bridge 122provides ISA bus 130 having one or more ISA connectors 131 (in oneembodiment, three connectors are provided).

In one embodiment, ISA bus 130 is coupled to I/O controller 152, whichin turn provides connections to two serial ports 154 and 155, parallelport 156, and FDD (Floppy-Disk Drive) connector 157. In one embodiment,ISA bus 130 is connected to buffer 132, which is connected to X bus 140,which provides connections to real-time clock 142, keyboard/mousecontroller 144 and keyboard BIOS ROM (Basic Input/Output SystemRead-Only Memory) 145, and to system BIOS ROM 146. It should beappreciated that modification or reconfiguration of information handlingsystem 100 of FIG. 1 by one having ordinary skill in the art would notdepart from the scope or the spirit of the present invention.

Referring now to FIG. 2, a block diagram of an electronic program guidesystem in accordance with the present invention will be discussed. Theprogram guide system 200 includes a client system 210 and a programguide server system 212. Client 210 and program guide server 212 may bean information handling system 100 as shown in FIG. 1, however,depending upon the requirements of the intended application, not all ofthe hardware devices need be included or identical as informationhandling system 100.

For example, client 210 may utilize an auxiliary processor orcoprocessor in addition to processor 102. Program guide server 212 andclient 210 preferably, but not necessarily, implement a client-serverbased architecture wherein the execution of a program of instructionsmay occur on either client, 210, server 212, or on both client 210 andserver 212. Client 210 couples with program guide server 212 forobtaining programming information in the form of an electronic programguide. The program guide may be obtained and processed by program guideserver 212 from an appropriate program information source 220 and storedin an information storage medium coupled to program guide server 212. Atan appropriate time upon a request by client 210, program guide server212 may download the program guide to client 210 that is in turn storedin an information storage medium coupled to client 210.

As shown in FIG. 2, client 210 may be configured to receive the programguide from program guide server 212, may be configured to receiveprogramming content from airwave broadcast station 214, cable televisionprovider 216, or satellite television provider 218, or further may beconfigured to receive content from worldwide network 222. However, it isnot necessary that a single device (e.g., client 210) perform all of theaforementioned functions. For example, client 210 may be an informationhandling system that couples to program guide server 212 to obtainprogram guide information that may be displayed on a standard televisiondevice separate from client 210 wherein the television device receivesthe program broadcast from airwave broadcast station 214.

Further, a second information handling system may couple to worldwidenetwork 222 to receive and display a multimedia network program. It ispreferable, however to provide a single device (e.g., client 210) thatis capable of providing all functions described herein. A suitablesingle device may be, for example, a personal computer and television(PC-TV) convergence device.

Client 210 may be capable of receiving program content from one or moresources. For example, client 210 may include a television tuner as anI/O device for receiving programming from a local airwave broadcaststation 214. The programming received from airwave broadcast station 214may be an analog signal (e.g., being compliant with a NationalTelevision Standards Committee or “NTSC” standard) or digital signal(e.g., being compliant with a high-definition television or “HDTV”standard). Client 210 may also receive a cable television signal from acable television provider 216 by utilizing an appropriate cabletelevision receiver, or may receive a satellite television signal from asatellite television provider 218 by utilizing an appropriate satellitetelevision receiver and antenna.

Furthermore, client 210 may include appropriate hardware for coupling toa worldwide network 222 such as the Internet. Worldwide network 222 mayinclude at least one or more nodes 224 and 226, up to N number of nodes228, comprising information handling systems similar to informationhandling system 100 on which programming content may be stored orthrough which programming content may be delivered and accessible toclient 210 via worldwide network 222. For example, one of nodes 224-228may belong to the National Aeronautics and Space Administration (NASA)who may provide live video coverage of the launch of a space vehicle(e.g., the space shuttle) over worldwide network 222 to client 210.Program information source 220 may include one or several sources ofprogramming information.

For example, program information source 220 may include an informationhandling system of a local or national television network that makesprogramming information available to program guide server 212 for futureprograms to be broadcast, for example, by airwave broadcast station 214,cable television station 216 or satellite television provider 218. Uponbeing downloaded from program guide server 212 to client 210, theprogram guide may be displayed on a display coupled to client 210 (e.g.,display 114).

Referring now to FIG. 3, a preferred viewing system in accordance withthe present invention will be discussed. The viewing system 300 in oneembodiment is preferably implemented by information handling system 100of FIG. 1. Electronic program guide 310 receives program guide data 312from an appropriate source e.g., program information source 220. Aprogram signal (e.g., TV, cable TV, etc.) may be selected by programguide 310 to be received from an appropriate program source 314 (e.g.,broadcast station 214, cable TV station 216, satellite 218, etc.). As auser of information handling system 100 manipulates program guide 310 toselect desired programs, program guide 310 stores information related tothe selected programs in a user profile database 318. The user-relatedinformation stored in user profile database 318 may include thecategories of programs frequently viewed (e.g., westerns, comedies,sitcoms, educational, etc.) by the user.

In the situation where more than one user shares the same informationhandling system 100 and program guide 310, each user may be uniquelyidentified by program guide 310 and have an associated user profilestored in database 318. The user may input identifying information 316into program guide 310 such that program guide 310 can discriminatebetween several users. The user may, for example, simply enter his orher name, may enter a code or a password, may speak his or her name,code or password that is automatically recognized using voicerecognition software running on information handling system 100, mayrecognize the face or some other feature of the user by capturing avideo image of the user with a camera (e.g., a charge coupled device orCCD) coupled to information handling system 100, or may recognize afingerprint using fingerprint identification techniques such as througha touch pad on a remote control, and so on, in order to uniquelyidentify an individual, user. Once a user is identified, the user'sviewing habits may be monitored by electronic program guide 310 togenerate a user profile that is stored in user profile database 318.Alternatively, a user may manually enter the kinds of program categoriesthat the user desires program guide 310 to monitor for such that theuser's selection criteria may be stored in a selection criteria database320.

After a user profile is generated and stored in user profile database318, or after the user enters and stores program selection criteria inselection criteria database 320, program guide 310 monitors programguide data 312 for programs that fall within the types of categories ofprograms stored in user profile database 318 or in accordance withinformation stored in selection criteria database 320. When a program isfound in program guide database 312 that is determined to be similar tothe user profile programs or satisfies the user selection criteria,program guide 310 schedules the program to be recorded at the scheduledbroadcast time of the program. At the scheduled time, program guide 310causes the program to be recorded with a selected recording device 322.Recording device 322 may include one or more suitable program recordingdevices or systems coupled with information handling system 100.

For example, recording device 322 may include a videocassette recorder(VCR) 326, a writable optical media drive 328, a floppy disk drive 330,a hard disk drive 332, or memory controller 334 for recording theprogram on a corresponding recording medium such as videocassette 336,recordable digital versatile disk (DVD) 338, recordable CD-ROM 340,floppy disk 342, hard disk 344, or semiconductor memory 346,respectively. The medium or media upon which one or more programs arestored comprise a library 324 of user customized programs that the usermay view at a later time. For example, the user may wish to establish alibrary of romantic programs for viewing on a special occasion such asValentine's day. The user inputs romantic programs as a selectioncriterion on selection criteria database 320. All programs occurring onor before February 14 may be set as another criterion since the userknows that the romantic programs can be viewed no later than Valentine'sday. Program guide 310 fetches the romantic program guide criterion fromselection criteria database 320 and then monitors program guide data 312for programs that meet the romantic program criterion.

When program guide 310 identifies one or more programs in program guidedata 312 that meet the romantic program criterion (e.g., “Romeo andJuliet”, “Casablanca” etc.), and further determines that the programswill be broadcast before the February 14 criterion, program guide 310schedules to record the identified program or programs. At the scheduledbroadcast time, program guide 310 causes the program to be recorded onan appropriate medium 336-346 with the corresponding recording device322 and stores the programs in program library 324 as a romanticprograms category. All of this occurs without intervention by the userafter the user enters the desired selection criteria into selectioncriteria database 320.

In an alternative embodiment, program guide 310 alerts the user beforethe program is scheduled to be programmed such that the user can confirmwhether recording of an identified program is desired. The user may bealerted by an alarm produced by program guide 310 via informationhandling system 100. Alternatively, if the user is at a remote locationusing an additional information handling system 100, program guide 310may remotely contact the user by coupling with the additionalinformation handling system 100 via worldwide network 222. Thus, theuser may receive communications via the Internet from program guide 310running on a home based information handling system 100 while the useris at work working on an information handling system 100 at work toconfirm the identified program. When the user arrives at home onFebruary 14, the user may then playback programs stored in library 324and view the recorded romantic programs.

Referring now to FIG. 4, a flow diagram of a method for implementing apreferred viewing system in accordance with the present invention willbe discussed. The method 400 in a preferred embodiment is implemented byprogram guide 310 executing as a program of instructions for informationhandling system 100. Method 400 initiates with the selection of a userat step 410. A determination is made at step 412 whether to add a newuser to user profile database 318. In the event a new user is to beadded, a new user profile is created at step 448 and stored in userprofile database 318. After a new user profile is added to profiledatabase 318, the new user is available to be selected at step 410. Theprofile of the user is selected at step 414 such that monitoring of theuser's viewing activity may occur at step 416. The viewing activity ofthe user is saved at step 418 in the user profile database 318. Adetermination is made at step 420 whether to utilize user-selectedcriteria as a basis for searching program guide data 312.

In the event user-selected criteria is to be utilized, the user inputsthe program criteria at step 428, and the user-selected criteria issaved at step 430 in selection criteria database 320. The electronicprogram guide data 312 is searched at step 422 based upon user profiledatabase 318 or selection criteria database 318, alone or incombination, and a determination is made at step 424 whether a programmeeting the user profile or user selection criteria is identified inprogram guide data 312. In the event no program is identified, EPG data312 is continued to be searched at step 312 (for example, periodicallyor upon receiving an update of program guide data 312) until a programsatisfying the user profile or selection criteria is identified inprogram guide data 312. In the event a program is identified, a programrecord time is scheduled at step 426. Program guide 310 monitors thetime at step 432 such that a determination may be made at step 434whether the scheduled program time has been reached. In the event thescheduled program time is reached, the user may be notified at step 436that program guide 310 is about to record an identified program. Uponnotification, the user may select to confirm the recording of theidentified program or may choose not to record the program. Adetermination is made at step 438 whether the identified program isconfirmed to be recorded. In the event the recording of the program isconfirmed, the program is recorded at step 440. The program is organizedinto program library 324 at step 442, for example categorized by subjectmatter. The user may then select a category from library 324 at step 444and view the programs at step 446 that are stored in library 324, forexample programs organized in a subject matter category.

Although the invention has been described with a certain degree ofparticularity, it should be recognized that elements thereof may bealtered by persons skilled in the art without departing from the spiritand scope of the invention. One of the embodiments of the invention canbe implemented as sets of instructions resident in the main memory 116of one or more computer information handling systems configuredgenerally as described in FIG. 1. Until required by the computer system,the set of instructions may be stored in another computer readablememory such as information storage medium 159 of FIG. 1, for example ina hard disk drive or in a removable memory such as an optical disk forutilization in a CD-ROM drive, a floppy disk for utilization in a floppydisk drive, a floptical disk for utilization in a floptical drive, or apersonal computer memory card for utilization in a personal computercard slot.

Further, the set of instructions can be stored in the memory of anothercomputer and transmitted over a local area network or a wide areanetwork, such as the Internet, when desired by the user. Additionally,the instructions may be transmitted over a network in the form of anapplet (a program executed from within another application) or a servlet(an applet executed by a server) that is interpreted or compiled aftertransmission to the computer system rather than prior to transmission.One skilled in the art would appreciate that the physical storage of thesets of instructions, applets or servlets physically changes the mediumupon which it is stored electrically, magnetically, chemically,physically, optically or holographically so that the medium carriescomputer readable information.

The system and method of “personal preferred viewing using electronicprogram guide” of the present invention, and many of its attendantadvantages, is disclosed by the forgoing description, and it isunderstood that various changes may be made in the form, constructionand arrangement of the components thereof without departing from thescope and spirit of the invention, or without sacrificing all of itsmaterial advantages. The preferred embodiments disclosed herein aremerely an explanatory embodiment thereof. It is the intention of thefollowing claims to encompass and include such changes.

1. A method for implementing a preferred viewing library of programs,comprising: monitoring a viewing activity of a user; saving the viewingactivity of the user in a database; searching electronic program guidedata for a program satisfying a criterion based upon the viewingactivity of the user stored in the database; determining whether aprogram in the electronic program guide satisfies the criterion; in theevent a program in the electronic program guide satisfies the criterion,scheduling to record the program at a predetermined time; in the eventno program in the electronic program guide satisfies the criterion,searching electronic program guide data periodically and/or uponreceiving an update of electronic program guide data, until a program inthe electronic program guide satisfies the criterion; monitoring thetime and then determining whether the present time is the predeterminedtime; in the event the present time is the predetermined time, notifyingthe user that the program is to be recorded and confirming whether theprogram should be recorded; in the event it is confirmed the presenttime is the predetermined time, recording the program; and organizingthe recorded program in a program library such that a user may selectthe program from the program library and view the recorded program at anappropriate time.
 2. A method as claimed in claim 1, further comprisingthe steps of: receiving a user selection criterion; saving the userselection criterion in the database; and executing said searching stepand said determining step based upon the user selection criterion storedin the database.
 3. A method as claimed in claim 1, further comprisingthe steps of: in the event there are two or more users, selecting one ofthe two or more users based on user identifying information, wherein theuser identifying information includes at least one of: a password andbiometrics; monitoring the viewing activity of the selected user; savingthe viewing activity of the selected user in a database unique to theselected user; and executing said searching step and said determiningstep based upon the viewing activity of the selected user stored in thedatabase.
 4. A method as claimed in claim 1, further comprising thesteps of: in the event there are two or more users, selecting one of thetwo or more users based on user identifying information, wherein theuser identifying information includes at least one of: a password andbiometrics; receiving a user selection criterion from the selected user;saving the user selection criterion in a database unique to the selecteduser; and executing said searching step and said determining step basedupon the user selection criterion stored in the database.
 5. A method asclaimed in claim 1, wherein the program is recorded on a bard diskdrive.
 6. A method as claimed in claim 1, wherein the program isrecorded on a floppy disk drive.
 7. A method as claimed in claim 1,wherein the program is recorded on a writable optical media drive.
 8. Amethod as claimed in claim 1, wherein the program is recorded by arecording device having memory controller.
 9. A method as claimed inclaim 8, wherein the program is recorded on a recordable digitalversatile disk (DVD).
 10. A method as claimed in claim 8, wherein theprogram is recorded on a videocassette.
 11. A method as claimed in claim8, wherein the program is recorded on a recordable CD-ROM.
 12. A methodas claimed in claim 8, wherein the program is recorded on a floppy disk.13. A method as claimed in claim 8, wherein the program is recorded on ahard disk.
 14. A method as claimed in claim 8, wherein the program isrecorded in a semiconductor memory.
 15. A method as claimed in claim 1,further comprising, before monitoring the viewing activity of the user,in the event there are two or more users, selecting one of the two ormore users based on user identifying information.
 16. A method asclaimed in claim 15, wherein the user identifying information includes apassword.
 17. A method as claimed in claim 15, wherein the useridentifying information includes biometrics.
 18. A method as claimed inclaim 15, further comprising alerting the selected user, prior torecording.
 19. A method as claimed in claim 18, wherein the selecteduser is alerted by an alarm.
 20. A method as claimed in claim 18,wherein the selected user is alerted by a remote contact by coupling viathe worldwide network.
 21. An information handling system for providingpreferred viewing of one or more selected programs, comprising: aprocessor for executing a program of instructions on an informationhandling system; a memory, coupled to said processor, for storing theprogram of instructions; an electronic program guide executed as theprogram of instruction by said processor; a recording device coupled tothe information handling system and controllable by said electronicprogram guide; and an information storage medium, readable by theinformation handling system, onto which one or more viewable programsmay be stored in a library of viewable programs on said informationstorage medium by said electronic program guide wherein said programguide is adapted for: monitoring a viewing activity of a user; savingthe viewing activity of the user in a database; searching electronicprogram guide data for a viewable program satisfying a criterion basedupon the viewing activity of the user stored in the database;determining whether a viewable program in the electronic program guidesatisfies the criterion; in the event a viewable program in theelectronic program guide satisfies the criterion, scheduling to recordthe viewable program at a predetermined time; in the event no program inthe electronic program guide satisfies the criterion, searchingelectronic program guide data periodically and/or upon receiving anupdate of electronic program guide data, until a program in theelectronic program guide satisfies the criterion; monitoring the timeand then determining whether the present time is the predetermined time;and in the event the present time is the predetermined time, notifyingthe user that the viewable program is to be recorded and confirmingwhether the viewable program should be recorded.
 22. An informationhandling system as claimed in claim 21, further comprising, in the eventis confirmed that the viewable program should be recorded, recording theviewable program.
 23. An information handling system as claimed in claim22, further comprising organizing the recorded viewable program in aprogram library such that a user may select the viewable program fromthe program library and view the recorded viewable program at anappropriate time.
 24. An information handling system as claimed in claim21, further comprising a user profile database stored in said memorywherein said electronic program guide searches the electronic programguide data based upon a user profile stored in said user profiledatabase.
 25. An information handling system as claimed in claim 21,further comprising a user selection criteria database stored in saidmemory wherein said electronic program guide searches the electronicprogram guide data based upon a user selection criterion stored in saiduser selection criteria database.
 26. An information handling system asclaimed in claim 21, wherein the memory for storing the program ofinstructions in the main memory of the information handling system. 27.An information handling system as claimed in claim 21, wherein thememory for storing the program of instructions is a computer readableinformation storage medium.
 28. An information handling system asclaimed in claim 21, wherein the computer readable information storagemedium is a hard disk drive.
 29. An information handling system asclaimed in claim 21, wherein the program is recorded on a hard diskdrive.
 30. An information handling system as claimed in claim 21,wherein the program is recorded on a floppy disk drive.
 31. Aninformation handling system as claimed in claim 21, wherein the programis recorded on a writable optical media drive.
 32. An informationhandling system as claimed in claim 21, wherein the program is recordedby a recording device having memory controller.
 33. An informationhandling system as claimed in claim 32, wherein the program is recordedon a recordable digital versatile disk (DVD).
 34. An informationhandling system as claimed in claim 32, wherein the program is recordedon a videocassette.
 35. An information handling system as claimed inclaim 32, wherein the program is recorded on a recordable CDROM.
 36. Aninformation handling system as claimed in claim 32, wherein the programis recorded on a floppy disk.
 37. An information handling system asclaimed in claim 32, wherein the program is recorded on a hard disk. 38.An information handling system as claimed in claim 32, wherein theprogram is recorded on a semiconductor memory.
 39. An informationhandling system as claimed in claim 32, wherein the program is recordedon a hard disk drive.
 40. A method for implementing a preferred viewinglibrary of programs, comprising: monitoring a viewing activity of auser; saving the viewing activity of the user in a database; searchingthe electronic program guide data for a program satisfying a criterionbased upon the viewing activity of the user stored in the database;determining whether a program in the electronic program guide satisfiesthe criterion; in the event a program in the electronic program guidesatisfies the criterion, scheduling to record the program at apredetermined time; in the event no program in the electronic programguide satisfies the criterion, searching electronic program guide dataperiodically and/or upon receiving an update of electronic program guidedata, until a program in the electronic program guide satisfies thecriterion; in the event is confirmed the present time is thepredetermined time, recording the program; and organizing the recordedprogram in a program library such that a user may select the programfrom the program library and view the recorded program at an appropriatetime.
 41. A method as claimed in claim 40, further comprising the stepsof: receiving a user selection criterion; saving the user selectioncriterion in the database; and executing said searching step and saiddetermining step based upon the user selection criterion stored in thedatabase.
 42. A method as claimed in claim 40, further comprising thesteps of: in the event there are two or more users, selecting one of thetwo or more users based on user identifying information, wherein theuser identifying information includes at least one of: a password andbiometrics; monitoring the viewing activity of the selected user; savingthe viewing activity of the selected user in a database unique to theselected user; and executing said searching step and said determiningstep based upon the viewing activity of the selected user stored in thedatabase.
 43. A method as claimed in claim 40, further comprising thesteps of: in the event there are two or more users, selecting one of thetwo or more users based on user identifying information, wherein theuser identifying information includes at least one of: a password andbiometrics; receiving a user selection criterion from the selected user;saving the user selection criterion in a database unique to the selecteduser; and executing said searching step and said determining step basedupon the user selection criterion stored in the database.
 44. A methodfor implementing a preferred viewing library of programs, comprising:saving a viewing activity of a user or a user selection criterion in adatabase; searching electronic program guide data for a programsatisfying a criterion based upon the viewing activity of the user orthe user selection criterion stored in the database; determining whethera program in the electronic program guide satisfies the criterion; inthe event a program in the electronic program guide satisfies thecriterion, scheduling to record the program at a predetermined time; inthe event no program in the electronic program guide satisfies thecriterion, searching electronic program guide data periodically and/orupon receiving an update of electronic program guide data, until aprogram in the electronic program guide satisfies the criterion;monitoring the time and then determining whether the present time is thepredetermined time; in the event the present time is the predeterminedtime, notifying the user that the program is to be recorded andconfirming whether the program should be recorded; in the event it isconfirmed the present time is the predetermined time, recording theprogram; and organizing the recorded program in a program library suchthat a user may select the program from the program library and view therecorded program at an appropriate time.
 45. A method as claimed inclaim 44, further comprising the steps of: in the event there are two ormore users, selecting one of the two or more users based on useridentifying information, wherein the user identifying informationincludes at least one of: a password and biometrics; monitoring theviewing activity of the selected user; saving the viewing activity ofthe selected user in a database unique to the selected user; andexecuting said searching step and said determining step based upon theviewing activity of the selected user stored in the database.
 46. Amethod as claimed in claim 44, further comprising the steps of: in theevent there are two or more users, selecting one of the two or moreusers based on user identifying information, wherein the useridentifying information includes at least one of: a password andbiometrics; receiving the user selection criterion from the selecteduser; saving the user selection criterion in a database unique to theselected user; and executing said searching step and said determiningstep based upon the user selection criterion stored in the database. 47.A method as claimed in claim 44, further comprising, before saving theviewing activity of the user, in the event there are two or more users,selecting one of the two or more users based on user identifyinginformation.
 48. A method as claimed in claim 47, wherein the useridentifying information includes a password.
 49. A method as claimed inclaim 47, wherein the user identifying information includes biometrics.50. A method as claimed in claim 47, further comprising alerting theselected user, prior to recording.
 51. A method as claimed in claim 50,wherein the selected user is alerted by an alarm.
 52. A method asclaimed in claim 50, wherein the selected user is alerted by a remotecontact by coupling via the worldwide network.
 53. An informationhandling system for providing preferred viewing of one or more selectedprograms, comprising: a processor for executing a program ofinstructions on an information handling system; a memory, coupled tosaid processor, for storing the program of instructions; an electronicprogram guide executed as the program of instruction by said processor;a recording device coupled to the information handling system andcontrollable by said electronic program guide; and an informationstorage medium, readable by the information handling system, onto whichone or more viewable programs may be stored in a library of viewableprograms on said information storage medium by said electronic programguide wherein said program guide is adapted for: saving a viewingactivity of a user or a user selection criterion in a database;searching electronic program guide data for a program satisfying acriterion based upon the viewing activity of the user or the userselection criterion stored in the database; determining whether aprogram in the electronic program guide satisfies the criterion; in theevent a program in the electronic program guide satisfies the criterion,scheduling to record the program at a predetermined time; in the eventno program in the electronic program guide satisfies the criterion,searching electronic program guide data periodically and/or uponreceiving an update of electronic program guide data, until a program inthe electronic program guide satisfies the criterion; monitoring thetime and then determining whether the present time is the predeterminedtime; and in the event the present time is the predetermined time,notifying the user that the viewable program is to be recorded andconfirming whether the viewable program should be recorded.
 54. Aninformation handling system as claimed in claim 53, further comprising,in the event is confirmed that the viewable program should be recorded,recording the viewable program.
 55. An information handling system asclaimed in claim 54, further comprising organizing the recorded viewableprogram in a program library such that a user may select the viewableprogram from the program library and view the recorded viewable programat an appropriate time.
 56. An information handling system as claimed inclaim 53, further comprising a user profile database stored in saidmemory wherein said electronic program guide searches the electronicprogram guide data based upon a user profile stored in said user profiledatabase.
 57. An information handling system as claimed in claim 53,further comprising a user selection criteria database stored in saidmemory wherein said electronic program guide searches the electronicprogram guide data based upon a user selection criterion stored in saiduser selection criteria database.
 58. An information handling system asclaimed in claim 53, wherein the memory for storing the program ofinstructions in the main memory of the information handling system.